ການທ ດລອງທ 1: Hello World! ຈ ດປະສ ງ: ໃຫ ບອດ Arduino ທ າການສ ສານກ ບຄອມພ ວເຕ, ໂດຍຈະໃຫ Arduino ສ ງຄ າເວ າທ ເປ ນຂ ຄວາມ Hello Word! ເພ ອສະແດງຂ ຄວາມໃນຄອມພ ວເຕ ອ ປະກອນທ ໃຊ : 1. ARDUINO UNO R3 ການເຊ ອມຕ ວ ງຈອນ: 2. Resistor 10kΩ (RES) 3. POWER 4. VIRTUAL TERMINAL ໂປຣແກມທ ດລອງທ 1-1: ການສະແດງຂ ຄວາມ 1 : void setup() 2 : { 3 : Serial.begin(9600); // Set the baud rate to 9600 4 : } 5 : void loop() 6 : { 7 : Serial.println( Hello World! ); //Displays Hello World! string 1
8 : delay(1000); //Delay for 1 second 9 : } ໂປແກມທ ດລອງທ 1-2: ການສະແດງຕ ວເລກ 1 : void setup() 2 : { 3 : Serial.begin(9600); // Set the baud rate to 9600 4 : } 5 : void loop() 6 : { 7 : int number = random(10,100) //Random number 10 to 100 8 : Serial.println(number); //Displays Hello World! string 9 : delay(200); //Delay for 1 second 10 : } ການທ ດລອງທ 2: ໄຟກະພ ບ (LED flashing) ຈ ດປະສ ງ: ເພ ອຄວບຄ ມໃຫ ດອກ LED ຮ ງ-ດ ບ ເປ ນຈ ງຫວະ, ເຊ ງໃນບ ດທ ດລອງນ ຈະທ າການຕ LED ຈາກພາຍນອກ ແລະ ເຊ ອມຕ ເຂ າທ ຂາ I/0 ທ ຕ າແໜ ງຂາທ 13 ໂດຍຈະກ ານ ດ LED ຮ ງ ເປ ນໄລຍະເວລາ 1 ວ ນາທ ແລະ ດ ບເປ ນໄລຍະເວລາ 1 ວ ນາທ ສະຫ ບກ ນ ໄປເລ ອຍໆ ອ ປະກອນທ ໃຊ : 1. ບອດ Arduino UNO R3 ການເຊ ອມຕ ວ ງຈອນ: 2. LED 1 ດອກ 3. ຕ ວຕ ານທານ (RES) 220Ω 1 ຕ ວ 5. ຕ ວຕ ານທານ (RES) 10kΩ 1 ຕ ວ 4. Power ແລະ GND 2
ໂຄ ດໂປຣແກມ: 1 : int ledpin = 13; // define the interface number 10 2 : void setup() 3 : { 4 : pinmode(ledpin, OUTPUT) ; // define a small lamp interface output 5 : // interface 6 : } 7 : void loop() 8 : { 9 : digitalwrite(ledpin, HIGH); // lit a small lamp 10 : delay(1000); // Delay 1 second 11 : digitalwrite(ledpin, LOW); // extinguish small lights 12 : delay(1000); // Delay 1 second 13 : } 3
ບ ດຝ ກຫ ດ: ທ ດລອງປ ຽນຄ າການໜ ວງເວລາ delay(1000) ເປ ນ delay(2000) ແລະ delay(500) ແລ ວສ ງ ເກດຜ ນທ ໄດ ຮ ບຈາກການລ ນໂປຣແກມ ຫ ວຂ ທ 3: Traffic light design ຈ ດປະສ ງ: ເພ ອຄວບຄ ມໃຫ ດອກ LED ທ ມ ຊ ບຊ ອນເພ ມຂ ນ ໂດຍການຈ າລອງການເຮ ດວຽກຂອງ ໄຟອ ານາດ ເຊ ງຈະນ າໃຊ ດອກ LED 3 ສ : ແດງ, ເຫ ອງ ແລະ ຂຽວ ເຊ ອມຕ ເຂ າທ ຂາ 10, 7 ແລະ 4 ຕາມລ າດ ບ ອ ປະກອນທ ໃຊ : 1. ບອດ Arduino UNO R3 ການເຊ ອມຕ ວ ງຈອນ: 2. LED ສ ແດງ (LED-RED) 1 ດອກ 3. LED ສ ຂຽວ (LED-GREEN) 1 ດອກ 4. LED ສ ເຫ ອງ (LED-YELLOW) 1 ດອກ 5. ຕ ວຕ ານທານ (RES) 220Ω 3 ຕ ວ 6. ຕ ວຕ ານທານ (RES) 10kΩ 1 ຕ ວ 7. POWER ແລະ GND 4
ໂຄ ດໂປຣແກມ: 1 : int redled = 10; // define the interface number 10 2 : int yellowled = 7; // define the number 7 Interface 3 : int greenled = 4; // define the number 4 Interface 4 : void setup() 5 : { 6 : pinmode (redled, OUTPUT); // define a small red light interface output interface 7 : pinmode (yellowled, OUTPUT); // define the yellow light interface output 8 : // interface 9 : pinmode(greenled, OUTPUT); // define the small green light interface 10 : // output interface 11 : } 12 : void loop() 13 : { 14 : digitalwrite(redled, HIGH); // lit red lights 5
15 : delay (1000); // delay of 1 second 16 : digitalwrite(redled, LOW); // off red light 17 : digitalwrite(yellowled, HIGH); // light yellow light 18 : delay (200); // delay of 0.2 seconds 19 : digitalwrite(yellowled, LOW); // off yellow light 20 : digitalwrite(greenled, HIGH); // flashes the green LED 21 : delay(1000); // delay of 1 second 22 : digitalwrite(greenled, LOW); // green LED off 23 : } ບ ດຝ ກຫ ດ: ທ ດລອງເພ ມດອກໄຟແດງ, ເຫ ອງ ແລະ ຂຽວ ອ ກ 1 ຊ ດໃສ ຂາ Arduino ທ 13, 12 ແລະ 11 ຕາມລ າດ ບແລ ວຂຽນໂປຣແກມໃຫ ສະຫ ບກ ນເຮ ດວຽກຕາມໄຟອ ານາດ ການທ ດລອງທ 4: Advertising light effect ຈ ດປະສ ງ: ເພ ອຄວບຄ ມໃຫ ດອກ LED ຈ ານວນ 6 ດອກ ໄຫ ວ ນຮ ງ-ດ ບ ເພ ອເຮ ດເປ ນໄຟຕ ກແຕ ງ ຂອບປ າຍໂຄສະນາ, ເຊ ງໃນບ ດທ ດລອງນ ຈະທ າການຕ LED ຈ ານວນ 6 ດອກ ເຊ ອມຕ ເຂ າທ ຂາ I/0 ທ ຕ າແໜ ງຂາທ 2 ຫາ 7 ອ ປະກອນທ ໃຊ : 1. ບອດ Arduino UNO R3 ການເຊ ອມຕ ວ ງຈອນ: 2. LED-BARGRAPH-RED 1 ອ ນ 3. ຊ ດຕ ວຕ ານທານ (Rx8) 220Ω 1 ຕ ວ 4. ຕ ວຕ ານທານ (RES) 220Ω 2 ຕ ວ 5. ຕ ວຕ ານທານ (RES) 10kΩ 1 ຕ ວ 6. POWER ແລະ GND 6
ໂຄ ດໂປຣແກມ: 1 : int BASE = 2; // the first one LED connected to the I / O pins 2 : int NUM = 12; // LED's total 3 : void setup () 4 : { 5 : for(int i = BASE; i < NUM; i++) 6 : { 7 : pinmode(i, OUTPUT); // set the digital I / O pin as an output 8 : } 9 : } 10 : void loop() 11 : { 12 : for(int i = BASE; i < NUM; i++) 13 : { 14 : digitalwrite(i, LOW); // set the digital I/O pin output is "Low", that 15 : // gradually turn off the lights 16 : delay(200); // delay 0.2 seconds 17 : } 18 : for (int i = BASE; i < NUM; i++) 7
19 : { 20 : digitalwrite(i, HIGH); // set the digital I/O pin output is "High", that 21 : // gradually lights 22 : delay(200); // delay 0.2 seconds 23 : } 24 : } ບ ດຝ ກຫ ດ: ທ າການທ ດລອງປ ບປ ຽນຄ າຕ ວເລກ NUM ໃນແຖວທ 2 ໃຫ ເປ ນ ຄ າ 10, 9, 8, 7, 6, 5 4, 3 ແລ ວສ ງເກດຜ ນທ ໄດ ຮ ບຈາກການລ ນໂປຣແກມ ການທ ດລອງທ 5: ລ າໂພງ Buzzer ຈ ດປະສ ງ: ເພ ອຄວບຄ ມສຽງໂດຍໃຊ ອ ປະກອນລ າໂພງ Buzzer ອ ປະກອນທ ໃຊ : 1. Arduino UNO R3 ການເຊ ອມຕ ວ ງຈອນ: 2. ລ າໂພງ BUZZER (Active) 1 ຕ ວ 3. ທານຊ ດເຕ NPN (Device) 1 ຕ ວ 4. ຕ ວຕ ານທານ (RES) 10kΩ 1 ຕ ວ 5. ຕ ວຕ ານທານ (RES) 220Ω 1 ຕ ວ 6. BATTERY 1 ອ ນ 7. POWER ແລະ GND 8
ໂຄ ດໂປຣແກມທ ດລອງທ 5_1: 1 : int buzzer = 8; // setting controls the digital IO foot buzzer 2 : void setup() 3 : { 4 : pinmode(buzzer, OUTPUT); // set the digital IO pin mode 5 : } 6 : void loop() 7 : { 8 : digitalwrite(buzzer, HIGH); // send voice 9 : delay(500); // delay 500ms 10 : digitalwrite(buzzer, LOW); // do not send voice 11 : delay(500); // delay 500ms 12 : } ໂຄ ດໂປຣແກມທ ດລອງທ 5_2: 1 : int buzzer = 8; // setting controls the digital IO foot buzzer 2 : void setup() 3 : { 4 : pinmode(buzzer, OUTPUT); // set the digital IO pin mode, OUTPUT out of 9
5 : // Wen 6 : } 7 : void loop() 8 : { 9 : unsigned char i, j; // define variables 10 : while(1) 11 : { 12 : for(i = 0; i < 80; i++) // Wen a frequency sound 13 : { 14 : digitalwrite(buzzer, HIGH); // send voice 15 : delay(1); // Delay 1ms 16 : digitalwrite(buzzer, LOW); // do not send voice 17 : delay(1); // delay ms 18 : } 19 : for(i = 0; i < 100; i++) // Wen Qie out another frequency sound 20 : { 21 : digitalwrite(buzzer, HIGH); // send voice 22 : delay(2); // delay 2ms 23 : digitalwrite(buzzer, LOW); // do not send voice 24 : delay(2); // delay 2ms 25 : } 26 : } 27 : } ການທ ດລອງທ 6: Keys to control LED experiment ຈ ດປະສ ງ: ເພ ອນ າໃຊ ສະວ ດ (Key) ເປ ນອ ນພ ດ ສ າລ ບຄວບຄ ມການເປ ດ-ປ ດດອກ LED. ເຊ ງໃນ ການທ ດລອງ Key ຈະຖ ກເຊ ອມຕ ເຂ າທ 7 ແລະ LED ຈະເຊ ອມຕ ເຂ າທ ຂາ 11. ໃນໂປຣແກມຈະ ກ ານ ດໃຫ ດອກ LED ຮ ງເມ ອມ ການກ ດສະວ ດແລ ວມ ຄ າເປ ນ 1 ສ ວນຖ າບ ມ ການກ ດສະວ ດຈະໄດ ຄ າ ເປ ນ 0 ແລ ວດອກ LED ກ ຈະມອດ ອ ປະກອນທ ໃຊ : 1. ບອດ Arduino UNO R3 10
ການເຊ ອມຕ ວ ງຈອນ: 2. BUTTON 1 ຕ ວ 3. LED-RED 1 ດອກ 4. ຕ ວຕ ານທານ (RES) 220Ω 1 ຕ ວ 5. ຕ ວຕ ານທານ (RES) 10kΩ 2 ຕ ວ 6. POWER ແລະ GND ໂຄ ດໂປຣແກມ: 1 : int ledpin = 11; // define the interface number 11 2 : int inpin = 7; // define the number 7 Interface 3 : int val; // define a variable val 4 : void setup() 5 : { 6 : pinmode(ledpin, OUTPUT); // define a small lamp interface output interface 11
7 : pinmode(inpin, INPUT); // define the key interface for the input interface 8 : } 9 : void loop() 10 : { 11 : val = digitalread(inpin); // read digital 7-level value assigned to val 12 : if(val == LOW) // test button is pressed, the button lights up when pressed 13 : // small 14 : { 15 : digitalwrite(ledpin, HIGH); 16 : } 17 : else 18 : { 19 : digitalwrite(ledpin, LOW); 20 : } 21 : } ບ ດຝ ກຫ ດ: ທ າການທ ດລອງດ ດແປງໂປຣແກມໂດຍກ ານ ດໃຫ ເມ ອກ ດ SW ແລ ວວາງ ດອກໄຟຈະຮ ງຄ າງໄວ ແລະ ເມ ອກ ດ SW ແລ ວວາງອ ກຄ ງ ດອກໄຟຈະມອດ ການທ ດລອງທ 7: Responder design experiments ຈ ດປະສ ງ: ເພ ອນ າໃຊ ສະວ ດ (Key) ເປ ນອ ນພ ດ ສ າລ ບຄວບຄ ມການເປ ດ-ປ ດດອກ LED. ເຊ ງໃນ ການທ ດລອງແມ ນ າໃຊ Key ເພ ມຂ ນເປ ນ 3 ຕ ວ ໃນການຄວບຄ ມ LED 3 ຕ ວເຊ ນດຽວກ ນ. ໃນ ໂປຣແກມຈະກ ານ ດໃຫ ດອກ LED ຮ ງດ ບຂ ນກ ບຄ າອ ນພ ດທ ອ ານໄດ ຈາກສະວ ດແຕ ລະຕ ວ. ອ ປະກອນທ ໃຊ : 1. ບອດ Arduino UNO R3 2. BUTTON 3 ຕ ວ 3. LED-RED 3 ດອກ 4. ຕ ວຕ ານທານ (RES) 220Ω 3 ຕ ວ 5. ຕ ວຕ ານທານ (RES) 10kΩ 4 ຕ ວ 12
6. POWER ແລະ GND ການເຊ ອມຕ ວ ງຈອນ: ໂຄ ດໂປຣແກມ: 1 : int redled = 8; 2 : int yellowled = 9; 3 : int greenled = 10; 4 : int redpin = 5; 5 : int yellowpin = 6; 6 : int greenpin = 7; 13
7 : int red; 8 : int yellow; 9 : int green; 10 : void setup () 11 : { 12 : pinmode(redled, OUTPUT); 13 : pinmode(yellowled, OUTPUT); 14 : pinmode(greenled, OUTPUT); 15 : pinmode(redpin, INPUT); 16 : pinmode(yellowpin, INPUT); 17 : pinmode(greenpin, INPUT); 18 : } 19 : void loop () 20 : { 21 : red = digitalread(redpin); 22 : if(red == LOW) 23 : { 24 : digitalwrite(redled, LOW); 25 : } 26 : else 27 : { 28 : digitalwrite(redled, HIGH); 29 : } 30 : yellow = digitalread(yellowpin); 31 : if(yellow == LOW) 32 : { 33 : digitalwrite(yellowled, LOW); 34 : } 35 : else 36 : { 14
37 : digitalwrite(yellowled, HIGH); 38 : } 39 : green = digitalread(greenpin); 40 : if(green == LOW) 41 : { 42 : digitalwrite(greenled, LOW); 43 : } 44 : else 45 : { 46 : digitalwrite(greenled, HIGH); 47 : } 48 : } ການທ ດລອງທ 8: Analog value read ຈ ດປະສ ງ: ເພ ອທ ດລອງນ າໃຊ ພອນ Analog I/O ຂອງ Arduino ທ ປະກອບມ 6 ຂາໃຫ ໃຊ ງານ ໃນໂປຣແກມນ ຈະທ າການເຊ ອມຄວາມຕ ານທານປ ຽນແປງຄ າ (Potentiometer) ເຂ າທ ຂາ A0 (analog 0) ເພ ອທ າການອ ານຄ າສ ນຍານ ແລ ວສະແດງຜ ນທ Serial monitor ເມ ອມ ການປ ບຄ າ ຄວາມຕ ານທ ານ ອ ປະກອນທ ໃຊ : 1. ບອດ Arduino UNO R3 ການເຊ ອມຕ ວ ງຈອນ: 2. ຄວາມຕ ານທານປ ບຄ າ 10kΩ (POT-HG) 1 ຕ ວ 3. ຕ ວຕ ານທານ (RES) 10kΩ 1 ຕ ວ 4. VIRTUAL TERMINAL 5. POWER ແລະ GND 15
ໂຄ ດໂປຣແກມ: 1 : int potpin = A0; // define analog interface 0 2 : int val = 0; // will define the variable val, and the initial value 0 3 : void setup() 4 : { 5 : pinmode(ledpin, OUTPUT); // output interface defines the digital interface 6 : Serial.begin(9600); // set the baud rate to 9600 7 : } 8 : void loop() 9 : { 10 : val = analogread(potpin); //read the value of analog interface 0 11 : Serial.println (val); // shows the value of val 12 : Delay(100); 13 : } 16
ບ ດຝ ກຫ ດ: ຈ ງທ າການທ ດລອງໂດຍເພ ມດອກ LED ໃສ 1 ຕ ວ ໂດຍດ ດແປງໂປຣແກມໃຫ ດອກ LED ຮ ງເມ ອ ຄ າຂອງ val ເກ ນ 512 ແລະ ດອກໄຟຈະມອດເມ ອຄ າ val ຕ າກວ າ 512 17